package employee

type BaseField struct {
	Name        string `gorm:"column:name" json:"name" binding:"required"`
	ContactInfo string `gorm:"column:contact_info" json:"contact_info" binding:"required"`
	Email       string `gorm:"column:email" json:"email" binding:"required"`
	Address     string `gorm:"column:address" json:"address"`
	Gender      int    `gorm:"column:gender" json:"gender" binding:"required"`
	BirthDate   string `gorm:"column:birth_date" json:"birth_date" binding:"required"`
	HireDate    string `gorm:"column:hire_date" json:"hire_date" binding:"required"`
	IDNumber    string `gorm:"column:id_number" json:"id_number" binding:"required"`
	BankName    string `gorm:"column:bank_name" json:"bank_name" binding:"required"`
	BankAccount string `gorm:"column:bank_account" json:"bank_account" binding:"required"`
	WorkStatus  int    `gorm:"column:work_status" json:"work_status" binding:"required" `

	HasSocialInsurance int `gorm:"column:has_social_insurance" json:"has_social_insurance" binding:"required"`

	ContractType          int    `gorm:"column:contract_type" json:"contract_type" binding:"required"`
	Remarks               string `gorm:"column:remarks" json:"remarks"`
	WorkContractStartTime string `gorm:"column:work_contract_start_time" json:"work_contract_start_time" binding:"required"`
	WorkContractEndTime   string `gorm:"column:work_contract_end_time" json:"work_contract_end_time" binding:"required"`
	DepartmentId          int    `gorm:"column:department_id" json:"department_id" binding:"required"`
	PositionId            int    `gorm:"column:position_id" json:"position_id" binding:"required"`
	DepartmentPathInfo    string `gorm:"column:department_path_info" json:"department_path_info" binding:"omitempty"`
}

type Id struct {
	Id int `form:"id" json:"id" binding:"required,min=1"` // 注意：gin框架数字的存储形式都是 int
}

type Name struct {
	Name string `form:"name" json:"name" `
}

type WorkStatus struct {
	WorkStatus int `form:"work_status" json:"work_status"`
}

type ContractType struct {
	ContractType int `form:"contract_type" json:"contract_type"`
}

type HireDate struct {
	StartDate string `form:"hire_start_date" json:"hire_start_date"`
	EndDate   string `form:"hire_end_date" json:"hire_end_date"`
}

type DepartmentId struct {
	DepartmentId int `form:"department_id" json:"department_id"`
}

type PositionId struct {
	PositionId int `form:"position_id" json:"position_id"`
}


